home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC80.exe / {app} / include / elements / CEGUIComboboxProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-01-18  |  10.6 KB  |  404 lines

  1. /************************************************************************
  2.     filename:     CEGUIComboboxProperties.h
  3.     created:    11/7/2004
  4.     author:        Paul D Turner
  5.     
  6.     purpose:    Interface to Combobox property classes
  7. *************************************************************************/
  8. /*************************************************************************
  9.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  10.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  11.  
  12.     This library is free software; you can redistribute it and/or
  13.     modify it under the terms of the GNU Lesser General Public
  14.     License as published by the Free Software Foundation; either
  15.     version 2.1 of the License, or (at your option) any later version.
  16.  
  17.     This library is distributed in the hope that it will be useful,
  18.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.     Lesser General Public License for more details.
  21.  
  22.     You should have received a copy of the GNU Lesser General Public
  23.     License along with this library; if not, write to the Free Software
  24.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  25. *************************************************************************/
  26. #ifndef _CEGUIComboboxProperties_h_
  27. #define _CEGUIComboboxProperties_h_
  28.  
  29. #include "CEGUIProperty.h"
  30.  
  31.  
  32. // Start of CEGUI namespace section
  33. namespace CEGUI
  34. {
  35.  
  36. // Start of ComboboxProperties namespace section
  37. /*!
  38. \brief
  39.     Namespace containing all classes that make up the properties interface for the Combobox class
  40. */
  41. namespace ComboboxProperties
  42. {
  43. /*!
  44. \brief
  45.     Property to access the read-only setting of the edit box.
  46.  
  47.     \par Usage:
  48.         - Name: ReadOnly
  49.         - Format: "[text]"
  50.  
  51.     \par Where [Text] is:
  52.         - "True" to indicate the edit box is read-only.
  53.         - "False" to indicate the edit box is not read-only (text may be edited by user).
  54. */
  55. class ReadOnly : public Property
  56. {
  57. public:
  58.     ReadOnly() : Property(
  59.         "ReadOnly",
  60.         "Property to get/set the read-only setting for the Editbox.  Value is either \"True\" or \"False\".",
  61.         "False")
  62.     {}
  63.  
  64.     String    get(const PropertyReceiver* receiver) const;
  65.     void    set(PropertyReceiver* receiver, const String& value);
  66. };
  67.  
  68.  
  69. /*!
  70. \brief
  71.     Property to access the string used for regular expression validation of the edit box text.
  72.  
  73.     \par Usage:
  74.         - Name: ValidationString
  75.         - Format: "[text]"
  76.  
  77.     \par Where:
  78.         - [Text] is the string used for validating text entry.
  79. */
  80. class ValidationString : public Property
  81. {
  82. public:
  83.     ValidationString() : Property(
  84.         "ValidationString",
  85.         "Property to get/set the validation string Editbox.  Value is a text string.",
  86.         ".*")
  87.     {}
  88.  
  89.     String    get(const PropertyReceiver* receiver) const;
  90.     void    set(PropertyReceiver* receiver, const String& value);
  91. };
  92.  
  93.  
  94. /*!
  95. \brief
  96.     Property to access the current carat index.
  97.  
  98.     \par Usage:
  99.         - Name: CaratIndex
  100.         - Format: "[uint]"
  101.  
  102.     \par Where:
  103.         - [uint] is the zero based index of the carat position within the text.
  104. */
  105. class CaratIndex : public Property
  106. {
  107. public:
  108.     CaratIndex() : Property(
  109.         "CaratIndex",
  110.         "Property to get/set the current carat index.  Value is \"[uint]\".",
  111.         "0")
  112.     {}
  113.  
  114.     String    get(const PropertyReceiver* receiver) const;
  115.     void    set(PropertyReceiver* receiver, const String& value);
  116. };
  117.  
  118.  
  119. /*!
  120. \brief
  121.     Property to access the current selection start index.
  122.  
  123.     \par Usage:
  124.         - Name: EditSelectionStart
  125.         - Format: "[uint]"
  126.  
  127.     \par Where:
  128.         - [uint] is the zero based index of the selection start position within the text.
  129. */
  130. class EditSelectionStart : public Property
  131. {
  132. public:
  133.     EditSelectionStart() : Property(
  134.         "EditSelectionStart",
  135.         "Property to get/set the zero based index of the selection start position within the text.  Value is \"[uint]\".",
  136.         "0")
  137.     {}
  138.  
  139.     String    get(const PropertyReceiver* receiver) const;
  140.     void    set(PropertyReceiver* receiver, const String& value);
  141. };
  142.  
  143.  
  144. /*!
  145. \brief
  146.     Property to access the current selection length.
  147.  
  148.     \par Usage:
  149.         - Name: EditSelectionLength
  150.         - Format: "[uint]"
  151.  
  152.     \par Where:
  153.         - [uint] is the length of the selection (as a count of the number of code points selected).
  154. */
  155. class EditSelectionLength : public Property
  156. {
  157. public:
  158.     EditSelectionLength() : Property(
  159.         "EditSelectionLength",
  160.         "Property to get/set the length of the selection (as a count of the number of code points selected).  Value is \"[uint]\".",
  161.         "0")
  162.     {}
  163.  
  164.     String    get(const PropertyReceiver* receiver) const;
  165.     void    set(PropertyReceiver* receiver, const String& value);
  166. };
  167.  
  168.  
  169. /*!
  170. \brief
  171.     Property to access the maximum text length for the edit box.
  172.  
  173.     \par Usage:
  174.         - Name: MaxEditTextLength
  175.         - Format: "[uint]"
  176.  
  177.     \par Where:
  178.         - [uint] is the maximum allowed text length (as a count of code points).
  179. */
  180. class MaxEditTextLength : public Property
  181. {
  182. public:
  183.     MaxEditTextLength() : Property(
  184.         "MaxEditTextLength",
  185.         "Property to get/set the the maximum allowed text length (as a count of code points).  Value is \"[uint]\".",
  186.         "1073741824")
  187.     {}
  188.  
  189.     String    get(const PropertyReceiver* receiver) const;
  190.     void    set(PropertyReceiver* receiver, const String& value);
  191. };
  192.  
  193.  
  194. /*!
  195. \brief
  196.     Property to access the normal, unselected, text colour used for rendering text.
  197.  
  198.     \par Usage:
  199.         - Name: NormalEditTextColour
  200.         - Format: "aarrggbb".
  201.  
  202.     \par Where:
  203.         - aarrggbb is the ARGB colour value to be used.
  204. */
  205. class NormalEditTextColour : public Property
  206. {
  207. public:
  208.     NormalEditTextColour() : Property(
  209.         "NormalEditTextColour",
  210.         "Property to get/set the normal, unselected, text colour used for rendering text.  Value is \"aarrggbb\" (hex).",
  211.         "00FFFFFF")
  212.     {}
  213.  
  214.     String    get(const PropertyReceiver* receiver) const;
  215.     void    set(PropertyReceiver* receiver, const String& value);
  216. };
  217.  
  218.  
  219. /*!
  220. \brief
  221.     Property to access the colour used for rendering text within the selection area.
  222.  
  223.     \par Usage:
  224.         - Name: SelectedEditTextColour
  225.         - Format: "aarrggbb".
  226.  
  227.     \par Where:
  228.         - aarrggbb is the ARGB colour value to be used.
  229. */
  230. class SelectedEditTextColour : public Property
  231. {
  232. public:
  233.     SelectedEditTextColour() : Property(
  234.         "SelectedEditTextColour",
  235.         "Property to get/set the colour used for rendering text within the selection area.  Value is \"aarrggbb\" (hex).",
  236.         "00000000")
  237.     {}
  238.  
  239.     String    get(const PropertyReceiver* receiver) const;
  240.     void    set(PropertyReceiver* receiver, const String& value);
  241. };
  242.  
  243.  
  244. /*!
  245. \brief
  246.     Property to access the colour used for rendering the selection highlight when the edit box is active.
  247.  
  248.     \par Usage:
  249.         - Name: ActiveEditSelectionColour
  250.         - Format: "aarrggbb".
  251.  
  252.     \par Where:
  253.         - aarrggbb is the ARGB colour value to be used.
  254. */
  255. class ActiveEditSelectionColour : public Property
  256. {
  257. public:
  258.     ActiveEditSelectionColour() : Property(
  259.         "ActiveEditSelectionColour",
  260.         "Property to get/set the colour used for rendering the selection highlight when the edit box is active.  Value is \"aarrggbb\" (hex).",
  261.         "006060FF")
  262.     {}
  263.  
  264.     String    get(const PropertyReceiver* receiver) const;
  265.     void    set(PropertyReceiver* receiver, const String& value);
  266. };
  267.  
  268.  
  269. /*!
  270. \brief
  271.     Property to access the colour used for rendering the selection highlight when the edit box is inactive.
  272.  
  273.     \par Usage:
  274.         - Name: InactiveEditSelectionColour
  275.         - Format: "aarrggbb".
  276.  
  277.     \par Where:
  278.         - aarrggbb is the ARGB colour value to be used.
  279. */
  280. class InactiveEditSelectionColour : public Property
  281. {
  282. public:
  283.     InactiveEditSelectionColour() : Property(
  284.         "InactiveEditSelectionColour",
  285.         "Property to get/set the colour used for rendering the selection highlight when the edit box is inactive.  Value is \"aarrggbb\" (hex).",
  286.         "00808080")
  287.     {}
  288.  
  289.     String    get(const PropertyReceiver* receiver) const;
  290.     void    set(PropertyReceiver* receiver, const String& value);
  291. };
  292.  
  293.  
  294. /*!
  295. \brief
  296.     Property to access the sort setting of the list box.
  297.  
  298.     \par Usage:
  299.         - Name: SortList
  300.         - Format: "[text]"
  301.  
  302.     \par Where [Text] is:
  303.         - "True" to indicate the list items should be sorted.
  304.         - "False" to indicate the list items should not be sorted.
  305. */
  306. class SortList : public Property
  307. {
  308. public:
  309.     SortList() : Property(
  310.         "SortList",
  311.         "Property to get/set the sort setting of the list box.  Value is either \"True\" or \"False\".",
  312.         "False")
  313.     {}
  314.  
  315.     String    get(const PropertyReceiver* receiver) const;
  316.     void    set(PropertyReceiver* receiver, const String& value);
  317. };
  318.  
  319.  
  320. /*!
  321. \brief
  322.     Property to access the 'always show' setting for the vertical scroll bar of the list box.
  323.  
  324.     \par Usage:
  325.         - Name: ForceVertScrollbar
  326.         - Format: "[text]"
  327.  
  328.     \par Where [Text] is:
  329.         - "True" to indicate that the vertical scroll bar will always be shown.
  330.         - "False" to indicate that the vertical scroll bar will only be shown when it is needed.
  331. */
  332. class ForceVertScrollbar : public Property
  333. {
  334. public:
  335.     ForceVertScrollbar() : Property(
  336.         "ForceVertScrollbar",
  337.         "Property to get/set the 'always show' setting for the vertical scroll bar of the list box.  Value is either \"True\" or \"False\".",
  338.         "False")
  339.     {}
  340.  
  341.     String    get(const PropertyReceiver* receiver) const;
  342.     void    set(PropertyReceiver* receiver, const String& value);
  343. };
  344.  
  345.  
  346. /*!
  347. \brief
  348.     Property to access the 'always show' setting for the horizontal scroll bar of the list box.
  349.  
  350.     \par Usage:
  351.         - Name: ForceHorzScrollbar
  352.         - Format: "[text]"
  353.  
  354.     \par Where [Text] is:
  355.         - "True" to indicate that the horizontal scroll bar will always be shown.
  356.         - "False" to indicate that the horizontal scroll bar will only be shown when it is needed.
  357. */
  358. class ForceHorzScrollbar : public Property
  359. {
  360. public:
  361.     ForceHorzScrollbar() : Property(
  362.         "ForceHorzScrollbar",
  363.         "Property to get/set the 'always show' setting for the horizontal scroll bar of the list box.  Value is either \"True\" or \"False\".",
  364.         "False")
  365.     {}
  366.  
  367.     String    get(const PropertyReceiver* receiver) const;
  368.     void    set(PropertyReceiver* receiver, const String& value);
  369. };
  370.  
  371.  
  372. /*!
  373. \brief
  374.     Property to access the 'single click mode' setting for the combo box.
  375.  
  376.     \par Usage:
  377.         - Name: SingleClickMode
  378.         - Format: "[text]"
  379.  
  380.     \par Where [Text] is:
  381.         - "True" to indicate that the box will operate in single click mode
  382.         - "False" to indicate that the box will not operate in single click mode
  383. */
  384. class SingleClickMode : public Property
  385. {
  386. public:
  387.     SingleClickMode() : Property(
  388.         "SingleClickMode",
  389.         "Property to get/set the 'single click mode' setting for the combo box.  Value is either \"True\" or \"False\".",
  390.         "False")
  391.     {}
  392.  
  393.     String    get(const PropertyReceiver* receiver) const;
  394.     void    set(PropertyReceiver* receiver, const String& value);
  395. };
  396.  
  397.  
  398. } // End of  ComboboxProperties namespace section
  399.  
  400. } // End of  CEGUI namespace section
  401.  
  402.  
  403. #endif    // end of guard _CEGUIComboboxProperties_h_
  404.